package behavioral.interpreter;

/**
 * @ClassName: MainTest
 * @Description: 测试类
 * @Author: liu-hao
 * @Date: 2023-04-12 10:27
 * @Version: 1.0
 **/
public class MainTest {

    public static void main(String[] args) {
        // 定义上下文存储储解释器需要的一些全局信息
        Context context = new Context();
        context.assign("x", 10);
        context.assign("y", 20);
        // 构建语法树：该语法树由一个 AddExpression 非终结符表达式和两个 TerminalExpression 终结符表达式组成
        Expression expression = new AddExpression(new TerminalExpression("x"), new TerminalExpression("y"));
        // 解释语法树
        int result = expression.interpret(context);
        // 打印结果
        System.out.println("Result: " + result);
    }
}
